import handleNum from './index'

let defaultState = {...handleNum.state}

let reducer = (state = defaultState,action:{type:string,val:number})=>{    
    let newState = JSON.parse(JSON.stringify(state))  // 深拷贝

    // switch(action.type){
    //     case handleNum.add1:
    //         handleNum.actions[handleNum.add1](newState,action)
    //         break;
    //     case handleNum.add2:
    //         handleNum.actions[handleNum.add2](newState,action)
    //         break;
    //     default:
    //         return newState
    // }

    /**
     * 优化：达到每次写一个方法都不需要再手动添加case了
     */
    for(let key in handleNum.actionNames){
        if(action.type === handleNum.actionNames[key]){
            handleNum.actions[handleNum.actionNames[key]](newState,action)
        }
    }

    return newState
}

export default reducer